package com.fzu.express.service;

import com.fzu.express.entity.Order;
import com.fzu.express.entity.WebUser;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fzu.express.pojo.PasswordDTO;
import com.fzu.express.pojo.RegisterDTO;
import com.fzu.express.pojo.UserDTO;
import com.fzu.express.pojo.UserVO;
import com.fzu.express.utils.PageVO;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zyq
 * @since 2022-10-27
 */
public interface WebUserService extends IService<WebUser> {

    /**
     * 登录
     * @param userDTO 账号密码
     * @return 用户信息
     */
    UserVO login(UserDTO userDTO);

    /**
     * 注册（只能注册用户账号）
     * @param registerDTO 注册信息
     */
    void register(RegisterDTO registerDTO);

    /**
     * 根据条件获取分页列表
     * @param webuser 参数
     * @param currentUser 当前登录用户
     * @param pageNum 页码
     * @param pageSize 每页记录数
     * @return page
     */
    PageVO listWebUser(WebUser webuser, WebUser currentUser, Integer pageNum, Integer pageSize);

    /**
     * 添加订单
     * @param webuser 参数
     */
    void addWebUser(WebUser webuser);

    /**
     * 修改订单
     * @param webuser 参数
     */
    void updateWebUser(WebUser webuser);

    /**
     * 根据ID删除订单
     * @param id 订单ID
     */
    void deleteWebUser(Long id);

    /**
     * 修改密码
     * @param passwordDTO
     * @param user
     */
    void updatePassword(PasswordDTO passwordDTO, WebUser user);
}
